#ifndef __TE_IMPORTS_H
#define __TE_IMPORTS_H

#include <irrlicht.h>
#include <og/Common.h>
#include <og/Console.h>
#include <og/FileSystem.h>
#include "og/CVarSystemEx.h"
#include "og/CmdSystemEx.h"
#include "og/FileEx.h"
#include "og/FileSystemEx.h"
#include "og/PakFileEx.h"
#include "og/Utilities.h"
#include <og/Plugin.h>
#include "g_public.h"

using namespace og;

class EngineExport : public GameImport
{
public:
	int GetApiVersion ( void ) const { return GAME_API_VERSION; };

	// This would be where we define the virtual members of the GameImport class
	void Print(const char *message);
	void Error(const char *message);
	void UserError(ErrorId id, const char *msg, const char *param);

	void *GetGUISkin();
	void SetGUISkin(void *skin);
};

extern GameExport *exports;

// Not technically VMs per se, but they're called "VMs" since they accomplish roughly the same thing as a VM (game logic)
void VM_Create( void );
void VM_Destroy( void );

#endif